package igor.lakienko.ru.generation.quotes.entity;

import igor.lakienko.ru.generation.quotes.enums.Currency;
import igor.lakienko.ru.generation.quotes.enums.TypeSecurities;
import lombok.Builder;
import lombok.Value;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.UUID;

@Value
@Builder
public class CurrencyEntity {

    /**
     * Идентификатор валюты.
     */
    @Builder.Default
    String id = UUID.randomUUID().toString();

    /**
     * Название валюты.
     */
    Currency currency;

    /**
     * Полное название валюты.
     */
    String fullCurrencyName;

    /**
     * Цена покупки валюты.
     */
    BigDecimal bid;

    /**
     * Цена продажи валюты.
     */
    BigDecimal offer;

    /**
     * Цена за единицу валюты.
     */
    float price;

    /**
     * Количество валюты.
     */
    BigInteger currencyVolume;

    /**
     * Рекомендация аналитиков(покупать, продавать или держать).
     */
    String recommendationAnalysts;

    /**
     * Тип котировки.
     */
    @Builder.Default
    TypeSecurities type = TypeSecurities.CURRENCY;

    /**
     * Волатильность валюты за год.
     */
    float yearlyVolatility;
}
